Wrong Path Events: Exploiting Illegal and Unusual Program Behavior for Early Misprediction Recovery
نویسندگان
چکیده
Control and data speculation are widely used to improve processor performance. Correct speculation can reduce execution time, but incorrect speculation can lead to increased execution time and greater energy consumption. This paper proposes a mechanism to leverage unexpected program behavior, called wrong-path events, that occur during periods of incorrect speculation. A wrong-path event is an instance of illegal or unusual program behavior that is more likely to occur on the wrong path than on the correct path, such as a NULL pointer dereference. When a wrong-path event occurs, the processor can predict that it is on the wrong path and speculatively initiate misprediction recovery. The purpose of the proposed mechanism is to improve the effectiveness of speculative execution in a processor by helping to insure that the processor remain “on the correct path” throughout periods of speculative execution. We describe a set of wrong-path events which can be used as strong indicators of misprediction. We find that on average 5% of the mispredicted branches in the SPEC2000 integer benchmarks produce a wrong-path event an average of 51 cycles before the branch is executed. We show that once a wrong-path event occurs, it is possible to accurately predict which unresolved branch in the processor is mispredicted using a simple, novel prediction mechanism. We discuss the advantages and shortcomings of wrong-path events and propose new areas for future research.
منابع مشابه
Deterministic Clock Gating to Eliminate Wasteful Activity in Out-of-Order Superscalar Processors due to Wrong-path Instructions1
1 This research was sponsored in part by a grant from the National Science Foundation. Abstract In this paper we present deterministic clock gating schemes for various micro architectural blocks of a modern out-of-order superscalar processor. We propose to make use of 1) idle stages of the pipelined function units (FUs) and 2) wrong-path instruction execution during branch mis-prediction, in or...
متن کاملDeterministic Clock Gating to Eliminate Wasteful Activity due to Wrong-path Instructions in Out-of-Order Superscalar Processors1
1 This research was sponsored in part by a grant from the National Science Foundation. Abstract In this paper we present deterministic clock gating schemes for various micro architectural blocks of a modern out-of-order superscalar processor. We propose to make use of 1) idle stages of the pipelined function units (FUs) and 2) wrong-path instruction execution during branch mis-prediction, in or...
متن کاملA Mechanism for Verifying Data Speculation
High-performance processors use data-speculation to reduce the execution time of programs. Data-speculation depends on some kind of prediction, and allows the speculative execution of a chain of dependent instructions. On a misprediction, a recovery mechanism must reissue the speculatively issued instructions. Some recovery mechanisms rely on keeping each instruction in the Issue Queue (IQ) unt...
متن کاملHistory-based Schemes and Implicit Path Enumeration
The Implicit Path Enumeration Technique is often used to compute the WCET of control-intensive programs. This method does not consider execution paths as ordered sequences of basic blocks but instead as sets of basic blocks with their respective execution counts. This way of describing an execution path is adequate to compute its execution time, provided that safe individual WCETs for the block...
متن کاملSimultaneous Speculation Scheduling - A Technique for Speculative Dual Path Execution
Commodity microprocessors uniformly apply branch prediction and single path speculative execution to all kinds of program branches and suuer from the high misprediction penalty which is caused by branches with low prediction accuracy and, in particular, by branches that are unpredictable. The Simultaneous Speculation Scheduling (S 3) technique removes such penalties by a combination of compiler...
متن کامل